package com.big.order.service;


import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.big.common.result.ResultCodeEnum;
import com.big.model.model.order.MerchandiseOrder;
import com.big.model.vo.merchandise.MerchanCommVo;
import com.big.model.vo.order.OrderInfoQueryVo;
import com.big.model.vo.order.OrderVo;

import java.util.List;
import java.util.concurrent.ExecutionException;


public interface OrderService extends IService<MerchandiseOrder> {

    //创建订单(返回订单编号,用户商品订单记录)
    String saveMerchandiseOrder(MerchandiseOrder merchandiseOrder,OrderVo orderVo) throws ExecutionException;


    //修改订单状态
    Integer upOrderStatus(String orderId, ResultCodeEnum resultCodeEnum);

    //查询订单
    MerchandiseOrder infoMerchandiseOrder(String orderId);

    //订单列表
    List<MerchandiseOrder>infoMerchandiseOrders(String uid);

    //订单列表（条件查询带分页） 后台
    IPage<MerchandiseOrder> selectPage(Page<MerchandiseOrder> pageParam, OrderInfoQueryVo orderInfoQueryVo);

    //订单详情 (后台)
    MerchandiseOrder adminOrderInfo(String orderId );

    //更改发货状态
    boolean upShipments(String phone,String oId);

    //签收订单
    boolean signOrder(MerchanCommVo merchanCommVo);


}
